iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
Modern Web

初學者入門 - 有人叫我寫blog那就來做吧!系列 第 20

[day-19] - 淺嚐網頁的滋味 - JavaScript 的簡介

  • 分享至 

  • xImage
  •  

JavaScript,作為現代網頁上最廣為通用的程式語言,他有甚麼神秘之處呢?
今天,讓我們一起來探索JavaScript的基礎用法和一些神奇的應用。

JavaScript基礎介紹

JavaScript(簡稱 JS)是一種高階的、直譯式的程式語言。它最初被設計來為瀏覽器增加動態功能,如今已成為Web開發中非常關鍵的要素。JS 基於的標準是 ECMAScript Language Specification(ECMA-262)去擴充,而不同的JS執行環境、翻譯器會有些許落差,由於早期各廠商的JS執行環境並不相通,因此造就一些標準無法統一的問題。

變數與資料型態

在JavaScript中,變數可以用來儲存各種類型的資料,從簡單的數字和字符串到複雜的對象和函數。JS中主要的資料型態包括:

  • 數字(Number):不分整數或浮點數,JS中的所有數字都是浮點型。(採用IEEE 754二進位浮點數算術標準)
  • 字串(String):文字資料,可以使用單引號、雙引號或反引號來創建。
  • 布林值(Boolean):代表真(true)或假(false)。
  • 物件(Object):鍵值對的集合,可以包含多種不同型態的資料。
  • 函式(Function):一段可以被執行的腳本,是JS非常強大的功能之一。

函式的使用

函式在JS中扮演著核心的角色,它可以幫助我們封裝程式碼,使其更加模組化和提升可重用性。定義函式的方式有幾種:

標準宣告函式

包含:函式的名稱、傳遞參數、函式功能與其對應的腳本

function sayHello() {
    console.log("Hello, world!");
}

函式表達式

函式也可以被定義為表達式,並被賦予一個變數。這種方式可使函式視為值處理,更加靈活地控制函式的定義時機和範圍:

let greet = function(name) {
    console.log("Hello, " + name + "!");
};

箭頭函式

ES6引入了箭頭函式,這是一種使用更簡潔語法來寫函式的方法。箭頭函式特別適合用於匿名函式表達式:

const add = (a, b) => a + b;

立即執行函式表達式(IIFE)

立即執行函式表達式是一種在定義後立即執行的函式,常用於初始化過程或建立封閉的作用區域:

(function() {
    console.log("這個函式會立即執行!");
})();

構造函式

構造函式用於建立具有相同屬性和方法的多個對象。

function Person(name, age) {
    this.name = name;
    this.age = age;
    this.describe = function() {
        return this.name + " is " + this.age + " years old.";
    };
}
let person1 = new Person("John", 30);
console.log(person1.describe());

事件處理

在網頁應用中,處理使用者的互動是非常重要的。個瀏覽器對於JS實作提供了多種方式來處理事件,如點擊、滑動、輸入等。

  • 事件監聽器:可以將一個事件處理函數綁定到一個元素上。
document.getElementById("myButton").addEventListener("click", function() {
    alert("按鈕被點擊了!");
});

錯誤處理

在JS中,如果要判斷非預期的錯誤,可以使用try...catch的語法捕捉到執行時的錯誤,從而避免程式中斷。

try {
    let result = riskyFunction();
} catch (error) {
    console.error("捕捉到錯誤:", error);
}

JavaScript,作為現代網頁開發的核心語言,其功能廣泛且靈活,為開發者提供了無限的創造可能。透過學習其基礎知識、函式的使用方法,以及事件處理和錯誤管理,開發者能夠創建出更動態、互動性更強的網頁。


上一篇
[day-18] - 淺嚐網頁的滋味 - CSS選擇器簡介
下一篇
[day-20] - 全端的魔法武器 - Webassembly 簡介
系列文
初學者入門 - 有人叫我寫blog那就來做吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言